/**
	Basic CSS so that the slideshow script functions as a slideshow
	@author Lea Verou
	@version 1.0
 */

/**
 * "Variables"
 */
.slide,
.delayed,
.delayed-children > * {
	-webkit-transition:1s;
	-ms-transition:1s;
	-moz-transition:1s;
	-o-transition:1s;
	transition:1s;
	-moz-transition-property: -webkit-transform, opacity, left, top, right, bottom;
	-ms-transition-property: -webkit-transform, opacity, left, top, right, bottom;
	-o-transition-property: -webkit-transform, opacity, left, top, right, bottom;
	-webkit-transition-property: -webkit-transform, opacity, left, top, right, bottom;
	transition-property: -webkit-transform, opacity, left, top, right, bottom;
}
 
/**
 * Styles
 */
 
 html, body {
 	height: 100%;
 }
 
 body {
 	counter-reset: slide;
 	margin: 0;
 }
 
 .slide {
 	visibility: hidden;
 	position:absolute;
 	top:0;
 	right:0;
 	bottom:0;
 	left:0;
 	z-index:1;
 	
 	font-size:250%;
 	line-height:1.6;
 	 	
 	opacity:0;
 	height:0;
 	width:0;
 	overflow:hidden;
 	
 	counter-increment: slide;
 }
 
 .slide.previous,
 .slide:target,
 .slide:target + .slide, /* just in case, not really needed */
 .slide.next {
 	visibility: visible;
 }
 
 .slide:target {
 	z-index:100;
 	opacity:1;
 	height:auto;
 	width: auto;
 	overflow: visible;
}

/**
	Slide numbers
 */ 
.slide:target::before {
  	content: counter(slide);
  	position: absolute;
  	top: .05in;
  	right: .5em;
  	z-index: 1010;
  	
  	font-size: .15in;
  	color: white;
  	background: rgba(0,0,0,.25);
  	font-weight: 900;
  	text-shadow: .05em .05em .1em black;
  	text-align: center;
  	padding: .1em .3em 0;
  	min-width: 1.6em;
  	-moz-box-sizing: border-box;
  	-webkit-box-sizing: border-box;
  	box-sizing: border-box;
  	
  	-moz-border-radius: 999px;
  	-webkit-border-radius: 999px;
  	border-radius: 999px;
}

/* If there's nothing selected, show the first */
.slide:first-child {
	z-index:2;
}

/* Delayed items that are shown incrementally after the slide is */
.delayed,
.delayed-children > * {
	opacity: 0;
}

.delayed.displayed,
.delayed-children > .displayed {
	opacity: .3;
}

.delayed.current,
.delayed-children > .current,
.delayed.displayed.non-dismissable,
.delayed-children > .displayed.non-dismissable {
	opacity: 1;
}

/**
	Show thumbnails
 */

.show-thumbnails {
	overflow-x: hidden;	
} 

.show-thumbnails .slide,
.presenter .slide.next {
	width: 1024px;
	height: 768px;
	
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	
	float: left;
	overflow: hidden;
	position: static;
	opacity: 1;
	margin:-292px -395px;
	cursor: pointer;
	
	-moz-transform: scale(.2, .2);
	-o-transform: scale(.2, .2);
	-webkit-transform: scale(.2, .2);
	transform: scale(.2, .2);
	
	-webkit-transition:1s -webkit-transform;
	-moz-transition:1s -moz-transform;
	-o-transition:1s -o-transform;
	transition:1s transform;
}

.show-thumbnails.headers-only .slide {
	display: none;
}

.show-thumbnails.headers-only header.slide {
	display: block;
}

.show-thumbnails .slide .delayed,
.presenter .slide:target + .slide .delayed {
	opacity: 1;
}

.show-thumbnails .slide:hover,
.show-thumbnails .slide:target,
.presenter .slide:target + .slide {
	outline: 20px solid rgba(255, 255, 255, .6);
	-moz-outline-radius:5px;
	
	box-shadow: 5px 5px 10px black;
}

.show-thumbnails .slide:target {
	outline-color: rgba(255, 255, 255, .3);
}

.show-thumbnails .slide:target:hover {
	outline-color: rgba(255, 255, 255, .9);
}

/* Display titles */
.show-thumbnails .slide[data-title]:after {
	content: attr(data-title);
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: .1em 0;
	background: rgba(0,0,0,.5);
	color: white;
	font-size: 250%;
	text-align: center;
	text-shadow: .05em .05em .1em black;
	
	-moz-transform: none;
	-ms-transform: none;
	-o-transform: none;
	-webkit-transform: none;
	transform: none;
}

/* Hide all elements in slide by hitting Ctrl + J or Shift + J */
.hide-elements .slide:target > * {
	opacity: 0;
	
	-moz-transition:.5s;
	-webkit-transition:.5s;
	-o-transition:.5s;
	transition:.5s;
}

/* Mark slides as incomplete to spot them easier */
.incomplete.slide::after {
	content: 'INCOMPLETE';
	font-weight: bold;
	position: absolute;
	top: 40%;
	left: 30%;
	padding: .1em .4em 0;
	border: .1em solid;
	color: rgba(255, 0, 0, .8);
	font-size: 140%;
	
	-moz-border-radius: .2em;
	-webkit-border-radius: .2em;
	border-radius: .2em;
	
	-moz-transform: rotate(30deg);
	-o-transform: rotate(30deg);
	-webkit-transform: rotate(30deg);
	transform: rotate(30deg);
}

/* Timer */

#timer {
	position:absolute;
	top:0;
	left:0;
	z-index:101;
	width:0%;
	height:16px;
	line-height: 16px;
	padding: 0 5px;
	background:rgba(0,0,0,.5);
	overflow: hidden;
	text-align: right;
	
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#timer:before {
	content: 'Progress ';
	text-transform: uppercase;
	color: white;
	font-size: 9px;
}

#timer.end {
	width: 100%;
}

/* Ribbon */
[data-type].slide:not(.hide-ribbon):after {
	content: attr(data-type);
	position: fixed;
	top: 0;
	right: 0;
	color: white;
	font-size: 50%;
	text-align: center;
	text-transform: uppercase;
	font-weight: bold;
	background: hsl(40,100%,50%);
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));
	background-image: -moz-linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));
	background-image: -o-linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, 0));
	line-height: 1.6;
	min-width: 20em;
	
	-moz-box-shadow: 0 10px 5px -5px rgba(0,0,0,.3);
	-webkit-box-shadow: 0 10px 5px -5px rgba(0,0,0,.3);
	box-shadow: 0 10px 5px -5px rgba(0,0,0,.3);

	-moz-transform: rotate(45deg) translate(6em, -2em);
	-ms-transform: rotate(45deg) translate(6em, -2em);
	-webkit-transform: rotate(45deg) translate(6em, -2em);
	-o-transform: rotate(45deg) translate(6em, -2em);
	transform: rotate(45deg) translate(6em, -2em);
}

/* Presenter & projector views */

.projector #timer {
	display: none;
}

.presenter-notes {
	display: none;
	position: fixed;
	right: 230px;
	bottom: 0;
	left: 0;
	max-height: 6em;
	overflow: auto;
	padding: .6em 1em;
	font-size: 60%;
	line-height: 1.3;
	font-weight: normal;
	resize:vertical;
	background: rgba(255, 255, 255, .5);
	color: black;
	text-shadow: 0 1px white;
	
	-moz-box-shadow: .1em .1em .3em rgba(0,0,0,.5) inset;
	-webkit-box-shadow: .1em .1em .3em rgba(0,0,0,.5) inset;
	box-shadow: .1em .1em .3em rgba(0,0,0,.5) inset;
}

.presenter .slide.next {
	position: fixed;
	top: auto;
	right: 0;
	bottom: 0;
	left: auto;
	z-index: 100;
}

.presenter .slide:target > .presenter-notes {
	display: block;
}